﻿using Domain.Entities;
using Domain.Entities.HealthManages;
using FrameworkCore.Attributes;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AiBLSmartEdu.Module.AIHealthManage.API.DTOs
{
    [Map(typeof(HealthRecord))]
    public class HealthRecordCreateInputModel
    {
        /// <summary>
        /// 性别（存储格式示例：男/女/未知）
        /// </summary>
        [StringLength(4)]
        public string? Gender { get; set; }

        /// <summary>
        /// 出生日期（格式：yyyy-MM-dd）
        /// </summary>
        public DateTime? Birthday { get; set; }

        /// <summary>
        /// 身高（单位：厘米，可选）
        /// </summary>
        public decimal? Height { get; set; }

        /// <summary>
        /// 体重（单位：千克，可选）
        /// </summary>
        public decimal? Weight { get; set; }

        /// <summary>
        /// 血型（示例：A型/B型/AB型/O型）
        /// </summary>
        [StringLength(10)]
        public string? BloodType { get; set; }

        /// <summary>
        /// 血压（存储格式示例：120/80）
        /// </summary>
        [StringLength(20)]
        public string? BloodPressure { get; set; }

        /// <summary>
        /// 心率（单位：次/分钟，可选）
        /// </summary>
        public int? HeartRate { get; set; }

        /// <summary>
        /// 空腹血糖（单位：mmol/L，空腹8小时以上）
        /// </summary>
        public decimal? FastingBloodGlucose { get; set; }

        /// <summary>
        /// 餐后血糖（单位：mmol/L，餐后2小时测量）
        /// </summary>
        public decimal? PostprandialBloodGlucose { get; set; }

        /// <summary>
        /// 随机血糖（单位：mmol/L，任意时间测量）
        /// </summary>
        public decimal? RandomBloodGlucose { get; set; }

        /// <summary>
        /// 糖化血红蛋白（HbA1c，单位：%，反映近3个月血糖平均水平）
        /// </summary>
        public decimal? GlycatedHemoglobin { get; set; }

        /// <summary>
        /// 血糖测量时间（记录最后一次测量的时间）
        /// </summary>
        public DateTime? GlucoseMeasureTime { get; set; }
    }
}
